Enhancing today's networking technology is a perpetual goal in the communications industry. As the raw speeds of large-scale and personal computing devices soar, the tremendous increase in data transmission demands continue to push the networking bandwidth envelope to capacity. As bandwidth-intensive multimedia content continues to gain popularity and course the veins of the Internet, the unrelenting bandwidth dilemma is no less urgent today than yesterday.
In order to make the most efficient use of the communication paths and routing equipment possible, policing methods were devised. Users of various levels could obtain different qualities of service (QoS), which would then require “policing” to ensure conformance with the contracted QoS. Policing generally refers to the packet-by-packet monitoring function at a network border, such as an ingress point at a network node. This monitoring function ensures that the promised QoS is not violated. The amount of traffic flowing into or out of a particular interface may therefore require limiting actions to achieve a specific policy goal.
Currently, varying data protocols require different methods for policing traffic flows. For example, the ATM Forum's FAST (Frame Based ATM over Sonet/SDH Transport) data link protocol and the Internet Engineering Task Force (IETF)'s IP data link protocol require different methods for policing traffic flows. FAST, being based on ATM cells, recommends the use of a variant of the GCRA, referred to as the Frame Based GCRA (F-GCRA). F-GCRA is the policing method provided in the ATM Forum's specification of FAST, and the Internet Engineering Task Force (IETF)'s IP packet policing generally involves the use of either Single Rate Three Color Marker (srTCM) or Two Rate Three Color Marker (trTCM) techniques.
At a particular network node or other ingress point, individual packets that make up a communications traffic stream can be classified into several flows or connections. Different qualities of service (QoS) can be committed per flow by metering packets arriving at a given interface on a flow-by-flow basis. Flows whose effective bit rate exceeds what is committed in the service contract will be classified as non-conforming, and packets arriving at a time when its corresponding flow is non-conforming will be marked as non-conforming. Whether packets are marked as non-conforming affects the likelihood of the packets being discarded. This metering of packets, i.e., policing, for the purpose of providing differentiated service per flow helps to regulate the bandwidth.
When within bandwidth constraints, policing by flow results in a common drop probability for all packets associated with that same flow. There are, however, circumstances where packets associated with certain types of messages within a flow should be afforded a higher probability of completing their routes. For example, in a residential broadband Internet connection, multiple services, such as video on demand, may be provided on the same connection. In such a case, it may be desirable to provide video packets a higher priority than the HTML packets, but within the bandwidth constraints committed to the household by the service provider.
Accordingly, there is a need in the communications industry for a method and apparatus for providing a layered approach to policing. A further need exists to provide policing of individual flows, as well as subflows of a data stream. The present invention fulfills these and other needs, and offers other advantages over the prior art policing approaches.